Communication system

ABSTRACT

At a server  2 , a subject for updating an object registered in a database  3  and an event for obtaining the subject are generated, while a request for the subject from a receiving terminal  5  is received and totaled so that a resource necessary for providing the subject is allocated on the basis of the result of totaling. Then, the event is transmitted and the subject is provided on the basis of the resource allocated thereto. At the receiving terminal  5 , the event is received and the necessity of the subject to be obtained on the basis of the event is evaluated so that request data requesting the subject is transmitted to the server  2  on the basis of the result of evaluation. Then, the subject provided by the server  2  in response to the request data is obtained on the basis of the event.

DESCRIPTION

1. Technical Field

This invention relates to a contents providing device, a contentsproviding method, a receiving device, a receiving method, acommunication system, and a communication method, and particularly to acontents providing device, a contents providing method, a receivingdevice, a receiving method, a communication system, and a communicationmethod which are suitably used in the case where data is to bedistributed to a number of databases constituting distributed databases,the case where data is to be distributed by IP (Internet Protocol)multicast, and the case where data is to be distributed to a number ofunspecified parties.

2. Background Art

Various techniques have been proposed as data distribution techniques.For example, on the present Internet, a protocol based on TCP/IP(Transmission Control Protocol/Internet Protocol) such as HTTP (HyperText Transfer Protocol) is employed. In accordance with the TCP/IP,calling to the data transmission side is carried out on the receivingside where distribution of data is received, and connection between thetransmission side and the receiving side is established every time datatransmission/reception is carried out. Therefore, highly reliabledistribution of data can be carried out. However, the load on thetransmission side and network is increased, and therefore, in some casesit is difficult to carry out efficient data distribution.

Specifically, if the number of terminals which receive provided data isincreased and access to the server providing data is concentrated, avery large load is applied on the server and network, and it takes quitea long time to obtain data after requesting the data.

Thus, there is recently proposed a technique of DRP (Distribution andReplication Protocol) in W3C (World Wide Web Consortium). In accordancewith the DRP, in the case where data is updated in one database, onlydifferential information between the data before updating and theupdated data is individually distributed to other databases dispersed ina number of regions, instead of distributing the updated data itself.Then, in the database where the distribution of the differentialinformation is received, the data before updating is updated on thebasis of the differential information.

Therefore, since the differential information is transmitted in the datadistribution method using the DRP, the quantity of information flowingon the network can be reduced in comparison with the case where the dataitself is transmitted. However, if access from a large number ofterminals is concentrated, the load on the server and network isincreased, making it difficult to carry out efficient data distribution.

In the data distribution using the TCP/IP or DRP as described above,connection between the transmission side and receiving side isestablished so that data is transmitted and received. On the other hand,there is data distribution method using UDP (User Datagram Protocol)such as IP (Internet Protocol) multicast for carrying out connectionlesstransmission/reception of data. Since the data distribution using theUDP is connectionless data distribution, the reliability of data islowered in comparison with the data distribution using the TCP/IP or thelike based on the established connection, but the load on thetransmission side and network can be reduced.

However, even in the case of the UDP, data must be distributedindividually to each of many terminals as long as the present Internetis used. Therefore, even when data distribution from the server isautomatically carried out, the increase in the number of terminalsincreases the load on the server and network, making it difficult tocarry out efficient data distribution.

In any of the above-described data distribution methods, the increase inthe load on the server and network due to the increase in the number ofterminals cannot be avoided in the case where data distribution iscarried out via the Internet connected by physical lines such as cables.

Thus, there is proposed a method for data distribution using a satellitecircuit or a ground-wave program circuit of a broad frequency band whichenables simultaneous multiple address over a wide region. In this case,the load on the server and network is not influenced by the increase inthe number of terminals.

Meanwhile, in simultaneous data distribution using a satellite circuitor the like, the same data is distributed to each user. However, whencertain data is distributed, not all users want that data. That is, whendata distribution to an extremely large number of users is carried out,it is typical that some users want that data while others do not. Sincedata to be distributed is generally determined on the transmission side,distribution of data demanded by a small number of users might bepreferentially carried out rather than distribution of data demanded bya large number of users. Such a case is not preferred in considerationof efficient data distribution.

Moreover, in simultaneous multiple address of data using a satellitecircuit, a certain user who immediately needs certain data might not beprovided with that data immediately. It is difficult to deal with such acase.

DISCLOSURE OF THE INVENTION

In view of the foregoing status of the art, it is an object of thepresent invention to enable more efficient distribution of data demandedby users.

According to the present invention, in a contents providing device,request signals transmitted from a plurality of contents receivingdevices are received and totaled, and a resource for providing acontents signal is allocated on the basis of the result of totaling ofthe request signals. Then, the contents signal is provided to theplurality of contents receiving devices on the basis of the allocatedresource. On the other hand, in each of the plurality of contentsreceiving devices, the necessity of the contents signal is evaluated,and a request signal for receiving the contents signal to be provided isgenerated on the basis of the result of evaluation. Then, the requestsignal is transmitted to the contents providing device, and the contentsignals provided from the contents providing device is obtained.

That is, according to the present invention, there is provided acommunication system comprising a contents providing device forproviding a contents signal and a plurality of contents receivingdevices for receiving the contents signal provided from the contentsproviding device. The contents providing device includes receiving meansfor receiving request signals transmitted from the plurality of contentsreceiving devices, totaling means for totaling the request signalsreceived by the receiving means, resource allocation means forallocating a resource for providing the contents signal on the basis ofthe result of totaling by the totaling means, and contents providingmeans for providing the contents signal to the plurality of contentsreceiving devices on the basis of the resource allocated by the resourceallocation means. The contents receiving device includes request signalgeneration means for evaluating the necessity of the contents signal andgenerating a request signal for receiving the contents signal on thebasis of the result of evaluation, request signal transmission means fortransmitting the request signal to the contents providing device, andcontents obtaining means for obtaining the contents signal provided bythe contents providing means of the contents providing device.

According to the present invention, there is also provided acommunication method in a communication system comprising a contentsproviding device for providing a contents signal and a plurality ofcontents receiving devices for receiving the contents signal providedfrom the contents providing device. On the side of the contentsreceiving device, the necessity of the contents signal is evaluated, anda request signal for receiving the contents signal is generated on thebasis of the result of evaluation. Then, the generated request signal istransmitted to the contents providing device. On the side of thecontents providing device, the request signals transmitted from theplurality of contents receiving devices are received, and a resource forproviding the contents signal is allocated on the basis of the result oftotaling of the received request signals. Then, the contents signal isprovided to the plurality of contents receiving devices on the basis ofthe allocated resource, and the contents signal provided from thecontents providing device is obtained on the side of the contentsreceiving device.

According to the present invention, there is also provided a contentsproviding device for supplying a contents signal to a plurality ofcontents receiving devices. The contents providing device includesreceiving means for receiving request signals transmitted from theplurality of contents receiving devices, totaling means for totaling therequest signal received by the receiving means, resource allocationmeans for allocating a resource for providing the contents signal on thebasis of the result of totaling by the totaling means, and contentsproviding means for providing the contents signal to the plurality ofcontents receiving devices on the basis of the resource allocated by theresource allocation means.

According to the present invention, there is also provided a contentsproviding method for providing a contents signal to a plurality ofcontents receiving devices. The method includes the steps of receivingrequest signals transmitted from the plurality of contents receivingdevices, totaling the received request signals, allocating a resourcefor providing the contents signal on the basis of the result of totalingof the request signals, and providing the contents signal to theplurality of contents receiving devices on the basis of the allocatedresource.

According to the present invention, there is also provided a contentsreceiving device for receiving a contents signal provided from acontents providing device for supplying the contents signal. The contentreceiving device includes request signal generation means for evaluatingthe necessity of the contents signal and generating a request signal forreceiving the contents signal on the basis of the result of evaluation,request signal transmission means for transmitting the request signal tothe contents providing device, and contents obtaining means forobtaining the contents signal provided by contents providing means ofthe contents providing device.

According to the present invention, there is also provided a contentsreceiving method for receiving a contents signal provided from acontents providing device for supplying the contents signal. The methodincludes a request signal generation step of evaluating the necessity ofthe contents signal and generating a request signal for receiving thecontents signal on the basis of the result of evaluation, a requestsignal transmission step of transmitting the request signal to thecontents providing device, and an obtaining step of obtaining thecontents signal provided by the contents providing device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a exemplary structure of a data distribution system as anembodiment of the present invention.

FIG. 2 shows a request level calculation table.

FIGS. 3A and 3B illustrate a change of resource allocation.

FIGS. 4A and 4B show a change of bandwidth.

FIG. 5 is a block diagram showing an exemplary structure of a server inthe data distribution system of FIG. 1.

FIG. 6 is a flowchart for explaining registration processing carried outby the server.

FIG. 7 shows the format of data supplied from a database in the datadistribution system.

FIG. 8 is a flowchart for explaining subject providing processingcarried out by the server.

FIG. 9 shows the format of subject in the data distribution system.

FIG. 10 is a flowchart for explaining event transmission processingcarried out by the server.

FIGS. 11A, 11B and 11C show the format of event in the data distributionsystem.

FIG. 12 is a flowchart for explaining request data receiving processingcarried out by the server.

FIGS. 13A, 13B and 13C show the format of request data in the datadistribution system.

FIG. 14 is a block diagram showing an exemplary structure of a receivingterminal in the data distribution system.

FIG. 15 is a flowchart for explaining receiving processing carried outby the receiving terminal.

FIG. 16 is a flowchart for explaining event processing carried out bythe receiving terminal.

FIG. 17 is a block diagram showing an exemplary structure of a mirrorserver in the data distribution system.

BEST MODE FOR CARRYING OUT THE INVENTION

A preferred embodiment of the present invention will now be described indetail with reference to the drawings.

FIG. 1 shows an exemplary structure of a data distribution system as anembodiment of the present invention.

Information providers A to C have databases 1 a to 1 c in which variousdata are stored. It is possible to store, in the databases 1 a to 1 c,data changed in real time such as traffic information, weatherinformation and stock price information, data not changed in real time,text data, image data, audio data, computer programs, and various otherdata (including structured data provided by point cast and dataconstituting home pages provided on the WWW (World Wide Web)).Hereinafter, a set of information (e.g., one file) such as trafficinformation or weather information will be suitably referred to ascontents or an object.

When an object (contents) stored in the databases 1 a to 1 c is updated,that is, when an object stored in the databases 1 a to 1 c changed, whenan object is newly registered thereto, or when an object stored thereinis deleted, update object information for carrying out the update istransmitted to a server 2 (contents providing device) constituting abroadcasting station. In the server 2, a database 3 is updated on thebasis of the update object information.

When an object is changed, for example, the changed object istransmitted as update object information from the databases 1 a to 1 cto the server 2. When a new object is registered, for example, the newobject is transmitted as update object information from the databases 1a to 1 c to the server 2. When an object is deleted, for example, adeletion command for the object is transmitted as update objectinformation from the databases 1 a to 1 c to the server 2. When anobject is changed, the update object information is equal to the changedobject. When a new object is registered, the update object informationis equal to the new object.

When the registered contents of the database 3 are updated on the basisof the update object information, the server 2 transmits the updateobject information to a mirror server 7, for example, through acommunication network 6 as a network enabling bidirectionalcommunication such as an analog public network, ISDN (IntegratedServices Digital Network), the Internet and the like, or a dedicatedline. The mirror server 7 receives the update object information fromthe server 2 and updates a database 8 on the basis of the update objectinformation. Therefore, the registered contents of the databases 3 and 8are basically the same.

In addition, when the registered contents of the database 3 are updated,the server 2 generates data (hereinafter suitably referred to as asubject) (update data) by adding an identifier (identificationinformation) for identifying the object to be updated by the updateobject information to the update object information. Specifically,identifiers for identifying the respective objects are associated withthe objects stored in the database 3, and a subject is generated byadding the identifier of the object to be updated by the update objectinformation to the update object information.

The server 2 also generates data for obtaining a subject. Specifically,a subject may be transmitted from the server 2 through a broadcastingnetwork 4, as will be later described. In this case, information on thetime and channel of broadcast of the subject is necessary for obtainingthe subject. Also, the subject may be associated with a URL (uniformresource locator) and managed by the server 2 or the mirror server 7, aswill be later described. In this case, the URL (or domain name of theserver 2 or the mirror server 7) and the transfer protocol of thesubject are necessary for obtaining the subject. Thus, in the server 2,information related to a so-called subject obtaining method is generatedas the data for obtaining the subject.

Moreover, the server 2 generates data (hereinafter suitably referred toas event) (obtaining data) by adding, to the data for obtaining thesubject, the identifier of the object to be updated by the subjectobtained on the basis of the data.

When the subject and the event for obtaining the subject are generatedin the server 2, the subject and the event are transmitted to areceiving terminal 5 constituted by, for example, an IRD (integratedreceiver and decoder) or a STB (set top box) through the broadcastingnetwork 4 as a unidirectional (or bidirectional) network enablingsimultaneous multiple address for a large number of users such as asatellite circuit, a CATV network, ground waves, IP multicast and thelike in accordance with the transmission schedule.

Specifically, when the subject is generated and then the event forobtaining the subject (event to which the same identifier as that of thesubject is added) is generated, basically, the event is firsttransmitted through the broadcasting network 4. If the broadcasting timeand channel of the subject are described in the event thus transmitted,the subject is transmitted through the broadcasting network 4 at thatbroadcasting time on that channel.

In the server 2, the transmission schedule of the subject is firstdetermined. (That is, the subject obtaining method including thebroadcasting time and the broadcasting channel is determined.) On thebasis of the transmission schedule, the broadcasting time and thebroadcasting channel of the subject are described in the event. Then,the transmission schedule of the event is determined.

In the case where the subject is associated with the URL and managed bythe server 2 or the mirror server 7, an event including the URL and thelike is generated and transmitted through the broadcasting network 4.That is, in the case where the subject is managed by the server 2 or themirror server 7, the event including the URL (subject obtaining method)having the IP address of the server 2 or the mirror server 7 as thedomain name is generated and transmitted.

The event thus transmitted (distributed) through the broadcastingnetwork 4 is received by the receiving terminal 5 of the user. Thereceiving terminal 5 selects an event related to an object demanded bythe user from among the received events and obtains the subject on thebasis of the selected event.

For example, in the case where the broadcasting time and channel of thesubject is included in the event, the receiving terminal 5 receives thesubject transmitted from the server 2 through the broadcasting network 4at that broadcasting time on that broadcasting channel, as describedabove.

In the case where the URL associated with the subject is included in theevent, the receiving terminal 5 accesses the server corresponding to thedomain name of the URL through the communication network 6, and thenrequests and receives the subject.

Specifically, if the server corresponding to the domain name of the URLincluded in the event is the server 2, the subject is managed by theserver 2. Therefore, the receiving terminal 5 accesses the server 2through the communication network 6 and obtains the subject.

On the other hand, if the server corresponding to the domain name of theURL included in the event is the mirror server 7, the subject is managedby the mirror server 7. Therefore, the receiving terminal 5 accesses themirror server 7 through the communication network 6 and obtains thesubject.

The receiving terminal 5 thus obtains the subject and updates the objecton the basis of the subject.

The subject is transmitted from the server 2 through the broadcastingnetwork 4 and may be managed by the server 2 or the mirror server 7.Although one mirror server 7 is shown in the embodiment of FIG. 1, aplurality of mirror servers (contents providing devices) for carryingout processing similar to that of the mirror server 7 can be provided onthe communication network 6. In this case, the subject can be managed bythe plurality of mirror servers. Also, the subject may be transmittedfrom the server 2 through the broadcasting network 4 on a plurality ofchannels or at a plurality of times, instead of transmission on a givenchannel at a given time.

As described above, if there are a plurality of subject obtainingmethods, information (broadcasting time, broadcasting channel, URL,etc.) about each of the plurality of methods is included in the event.However, which method should be employed for obtaining the subject isdetermined at the receiving terminal 5. For example, if a plurality oftimes for transmitting the subject through the broadcasting network 4are included in the event, the receiving terminal 5 receives the subjectbroadcast at the time nearest to the current time, thus obtaining thesubject. On the other hand, if a plurality of URLs are included in theevent, the URL of the server closest to the receiving terminal 5 isselected and the subject is requested to that server through thecommunication network 6, thus obtaining the subject. Moreover, if thetime for transmitting the subject through the broadcasting network 4 andthe URL are included in the event, for example, the subject is obtainedon the basis of the URL as described above when the circuit state of thebroadcasting network 4 is not good (e.g., the S/N (signal-to-noise)ratio is low). Which method should be used for obtaining the subject canalso be determined on the basis of the operation by the user at thereceiving terminal 5.

According to the data distribution system as described above, the eventin which the subject obtaining method is described is distributedthrough the broadcasting network 4. At the receiving terminal 5, thesubject is obtained and the object is updated on the basis of the event.Therefore, it is possible to carry out efficient data distribution whilerestraining the increase in the load on the receiving terminal 5.

That is, in general, the subject including the update object informationfor updating the object (particularly for change and new registration ofobject) has a large data quantity, and when the subject will begenerated is not known since the subject is generated in accordance withthe update of the object. Therefore, in order to transmit only thesubject generated irregularly and having a large data quantity throughthe broadcasting network 4 as early as possible, the server 2 musttransmit the subject by using a channel that is not occupied at thepresent time point. In this case, however, the receiving terminal 5 mustwait for the subject with unknown transmission time and channel andtherefore receives a large burden.

On the contrary, since the event includes description of the subjectobtaining method, the data quantity of the event is generally muchsmaller than the subject including the update object information.Therefore, it is possible to carry out transmission according to thepredetermined transmission schedule, that is, to carry out transmissionon a given narrow-band channel and at a given time. Thus, in this case,the receiving terminal 5 only needs to receive the event transmitted onthe given channel at the given time, and the load on the receivingterminal 5 is much smaller than in the case where it waits for a subjectirregularly transmitted on an arbitrary channel.

Moreover, in this embodiment, since the event is transmitted through thebroadcasting network 4 which enables simultaneous multiple address overa broad region, the increase in the number of receiving terminals 5 doesnot affect the load on the server 2 or the broadcasting network 4.

In this embodiment, since the subject can be provided not only throughthe communication network 6 but also through the broadcasting network 4,accesses to the server 2 or the mirror server 7 are rarely concentratedfor obtaining the subject, thus enabling efficient distribution of thesubject.

The broadcasting network 4 and the communication network 6 need not bephysically different networks. That is, in the case where thebroadcasting network 4 is constituted by a CATV network, the CATVnetwork can also be used as the communication network 6. Also, in thecase where distribution of data through the broadcasting network 4 iscarried out by IP (Internet Protocol) multicast utilizing the Internetor the like, the communication network 6 can be constituted by theInternet.

In addition, by scrambling the data (event and subject) transmitted fromthe server 2 to the receiving terminal 5, it is possible to enable onlyspecified users (users who made a contract for reception) to receive thedata.

The mirror server 7 receives the update object information from theserver 2, then constitutes the event and subject similarly to the server2, and provides the event and subject to the receiving terminal 5.

Hereinafter, the transmission of the event, subject and other datathrough the broadcasting network 4 is suitably referred to asmultiple-address transmission. The transmission of the subject and otherdata through the communication network 6 is referred to as individualtransmission.

Meanwhile, by receiving the event at the receiving terminal 5, thesubject obtaining method corresponding to the event, that is, thebroadcasting channel and the broadcasting time of multiple-addresstransmission of the subject and the server to which individualtransmission of the subject should be requested can be recognized.Therefore, in the case where the subject is immediately required at thereceiving terminal 5 while the broadcasting time of multiple-addresstransmission of the subject is not reached yet, the receiving terminal 5can immediately obtain the subject by requesting the subject byindividual transmission. In this case, however, if there are a largenumber of receiving terminals immediately requiring the subject, theload on the server 2 or the mirror server 7 b to which individualtransmission is requested is increased.

Moreover, if there are a large number of receiving terminals immediatelyrequiring the subject, it is more preferred to provide the subject bymultiple-address transmission enabling simultaneous multiple addressthan to provide the subject by individual transmission, in view of theefficient distribution of data.

Also, the subject is not necessarily provided both by multiple-addresstransmission and by individual transmission. In some cases, for example,the subject is provided only by individual transmission. However, ifthere are a large number of receiving terminals requiring the subject,it is more preferred to provide the subject by multiple-addresstransmission, in view of the efficient distribution of data.

Furthermore, if there are a large number of receiving terminalsrequiring the subject, the subject can be distributed more efficientlyby allocating a broader transmission band (a higher data rate) than thatof other subjects for multi-address communication of the subject.

Thus, in the data distribution system of FIG. 1, on receiving the event,the receiving terminal 5 evaluates the necessity of the subject obtainedon the basis of the event. When the subject is immediately needed,request data for requesting the subject is transmitted to the server 2(or mirror server 7) by individual transmission.

For example, in the case where the user carried out operation to requestthe subject, the receiving terminal 5 evaluates the subject as beingneeded. Also, the effective period and importance of the object can bedesignated by the information providers A to C and the users. In thecase where the effective period of the object has expired or in the casewhere the object has high importance, the receiving terminal 5 canevaluates the necessity of the subject for updating the object as beinghigh.

On the other hand, the server 2 totals request data from the receivingterminal 5 and other receiving terminals, and changes the transmissionschedule, for example, by advancing the broadcasting time of thesubject, or changes resource allocation for transmission of the subject,for example, by increasing the number of times of broadcast orallocating a broader transmission band, on the basis of the totalingresult.

The request data transmitted from the receiving terminal 5 to the server2 includes the designation of broadcasting data expressing by what timethe subject should be transmitted, as will be later described. Onreceiving the request data, the server 2 carries out totaling of therequest data for finding the overall degree of request (hereinaftersuitably referred to as general degree of request) on the receiving sidewith respect to the subject requested by the request data, on the basisof the designation of broadcasting date included in the request data.

Specifically, the server 2 converts the designation of broadcasting dateincluded in the request data to the request level of the subjectrequested by the request data, on the basis of a request levelcalculation table as shown in FIG. 2. Moreover, the server 2 calculatesthe sum of request levels obtained from the request data receivingduring a predetermined period of time, as the general degree of request.For example, in the case where request data including the designation ofbroadcasting date of “within one day” or “within three days” is to bereceived for 2200 or 1000, 2000×5+1000×4=15000 is found as the generaldegree of request in accordance with the request level calculation tableof FIG. 2.

Then, the server 2 changes the transmission schedule, resourceallocation and the like on the basis of the general degree of request.For example, the server 2 changes the broadcasting data by multiplyingthe number of days until the broadcasting date for transmitting thesubject for which the general degree of request is calculated, by10000/general degree of request. Specifically, in the case where ageneral degree of request equal to 15000 is obtained with respect to acertain subject as described above and the number of days until thebroadcasting date is 6, the broadcasting data is changed to four daysfrom the present day in accordance with 6×10000/15000=4. In this case,with respect to the subject for which the general degree of requestequal to 15000 is obtained, the degree of request is recognized as beinghigh and the broadcasting data is advanced from six days from thepresent day to four days from the present day.

Meanwhile, it is assumed that resource for transmitting subjects S1 andS2 are allocated as shown in FIG. 3A by the server 2. For the subjectS1, a bandwidth of 1 Mbps (bandwidth of the broadcasting network 4) isallocated. The transmission frequency of the subject S1 is once every 30minutes and the transmission is to be carried out all day long. For thesubject S2, a bandwidth of 2 Mbps is allocated. The transmissionfrequency of the subject S2 is once every five minutes and thetransmission is to be carried out all day long.

It is now assumed that in the case where resource allocation asdescribed above is done, a high general degree of request is obtainedfor the subject S1 while a low general degree of request is obtained forthe subject S2. In this case, the server 2 changes the resourceallocation of FIG. 3A to resource allocation as shown in FIG. 3B. InFIG. 3B, a bandwidth of 2 Mbps is allocated for the subject S1 having ahigh general degree of request. The transmission frequency of thesubject S1 is once every 10 minutes and the transmission is to becarried out only for two hours. For the subject S2 having a low generaldegree of request, and bandwidth of 1 Mbps is allocated. Thetransmission frequency of the subject S2 is once every 10 minutes andthe transmission to be carried out only for two hours. Thus, theresource allocation is changed so that more resources than the firstallocated resources are allocated for the subject S1 having a highgeneral degree of request. With respect to the subject S2 having a lowgeneral degree of request, the server 2 changes the resource allocationso that less resources than the first allocated resources are allocated.

The bandwidth in the resource allocation shown in FIGS. 3A and 3B willnow be described. The subject S1 is first transmitted at 1 Mbps as shownin FIG. 4A, and then transmitted at 2 Mbps in accordance with the changeof resource allocation described with reference to FIGS. 3A and 3B.After the lapse of two hours from the start of the transmission at 2Mbps, the subject S1 is transmitted again at 1 Mbps. On the other hand,the subject S2 is first transmitted at 2 Mbps as shown in FIG. 4B, andthen transmitted at 1 Mbps in accordance with the change of resourceallocation described with reference to FIGS. 3A and 3B. After the lapseof two hours from the start of the transmission at 1 Mbps, the subjectS2 is transmitted again at 2 Mbps.

In this manner, since the server 2 preferentially transmits the subjectof higher demand (request), the subject can be efficiently distributed.

FIG. 5 shows an exemplary structure of the server 2 of FIG. 1.

A communication control section 11 is constituted by a modem or aterminal adapter (TA), and controls the communication (individualtransmission) through the communication network 6. A resource allocationsection 12 carries out resource allocation for multi-addresscommunication of the event and subject and resource allocation forindividual transmission of the subject.

Specifically, the resource allocation section 12 receives a notice ofupdate of the object from a registration section 15, then allocatesresources for transmitting the event and subject through thebroadcasting network 4 (for example, the transmission band (data rate)for multiple-address transmission of the event and object, the number oftimes of transmission (transmission frequency), and the time for eachblock constituting the server 2 to carry out processing formultiple-address transmission) in accordance with the update, andfurthermore determines the transmission schedule (for example, thebroadcasting channel, broadcasting time and the like).

The resource allocation section 12 also allocates resources forproviding the subject by individual transmission (for example, therecording area of a storage 23 which will be later described).

In the resource allocation section 12, allocation of resources iscarried out on the basis of information from a demand processing section13. The result of allocation of resources for transmission of the eventand subject and the transmission schedule determined by resourceallocation section 12 are supplied to a subject constitution section 16,an event constitution section 19, a transmission control section 21, anda storage management section 22. The resource allocation section 12 alsocontrols a duplicate management section 14.

The demand processing section 13 receives, through the communicationcontrol section 11, the audience rating of the object and the requestdata transmitted from the receiving terminal 5 through the communicationnetwork 6, and carries out totaling of the data. The demand processingsection 13 supplies the result of totaling to the resource allocationsection 12. On receiving the request data, and demand processing section13 controls the storage management section 22, if necessary, so that thesubject requested by the request data is read out from the storage 23.

The duplicate management section 14 manages information for specifyingthe mirror server 7 (and a mirror server, not shown, on thecommunication network 6). Specifically, in the case where thecommunication network 6 is the Internet, the duplicate managementsection 14 stores the IP address of the mirror server 7 and the like.Under the control of the resource allocation section 12, the duplicatemanagement section 14 reads out the update object information from thedatabase 3 and transmits the update object information through thecommunication control section 11 to the server, on the communicationnetwork 6, having the IP address of the mirror server 7 and the likemanaged by the duplicate management section 14 itself.

The registration section 15 receives the update object informationsupplied from the databases 1 a to 1 c of the information providers A toC and updates the object (database 3) on the basis of the update objectinformation. Specifically, the identifier of the object to be updated bythe update object information is supplied together with the updateobject information from the databases 1 a to 1 c of the informationproviders A to C. The registration section 15 receives the update objectinformation and identifier and retrieves the object corresponding to theidentifier from the database 3. Moreover, the registration section 15updates the object, thus retrieved, on the basis of the update objectinformation, and then outputs to the resource allocation section 12 anotice to the effect that the object is updated. The registrationsection 15 registers the update object information and identifier fromthe databases 1 a to 1 c to the database 3.

The subject constitution section 16 reads out the update objectinformation from the database 3 under the control of the resourceallocation section 12, then generates (constitutes) a subject in whichthe update object information is arranged, and supplies the generatedsubject to a subject storage section 17. The subject storage section 17temporarily stores the subject from the subject constitution section 16.

A transmission section 18 reads out the subject stored in the subjectstorage section 17 and the event stored in the event storage section 20under the control of the transmission control section 21, and transmitsthe subject and event by multiple-address transmission, that is, throughthe broadcasting network 4.

The event constitution section 19 generates (constitutes) an event forobtaining the subject constituted by the subject constitution section 16under the control of the resource allocation section 12 with referenceto the database 3, if necessary, and supplies the generated event to theevent storage section 20. The event storage section 20 temporarilystores the event from the event constitution section 19. The eventgenerated by the event constitution section 19 includes the broadcastingchannel and the broadcasting time of the subject, supplied from theresource allocation section 12, and information related to the servermanaging the subject, supplied from the duplicate management section 14through the resource allocation section 12.

The transmission control section 21 controls the transmission section 18under the control of the resource allocation section 12 so that theevent and subject are transmitted by multiple-address transmission. Thestorage management section 22 reads out the subject that should betransmitted by individual transmission from the subject storage section17 under the control of the resource allocation section 12 and suppliesthe subject to the storage 23 so that the subject is stored therein.Moreover, the storage management section 22 reads out the subject storedin the storage 23 under the control of the demand processing section 13and supplies the subject to the communication control section 11. Thestorage 23 temporarily stores the subject that should be transmitted byindividual transmission, supplied from the storage management section22.

The mirror server 7 of FIG. 1 (and other servers on the communicationnetwork 6) is constituted similarly to the server 2 shown in FIG. 5.However, the duplicate management section 14 is not provided in themirror server 7. The registration section 15 constituting the mirrorserver 7 receives the update object information from the server 2through the communication network 6 or a dedicated line and carries outregistration to the database 8.

In the server 2 thus constituted (also in the mirror server 7),registration processing for registering data to the database 3 (orupdating registered contents of the database), subject providingprocessing for providing the subject, event transmission processing formultiple-address transmission of the event, and request data receivingprocessing with respect to the request data for requesting the subjecttransmitted from the receiving terminal 5 are carried out.

The registration processing carried out by the server 2 will be firstdescribed with reference to the flowchart of FIG. 6.

In the registration processing, first, at step S1, the registrationsection 15 discriminates whether or not the update object informationand identifier are distributed from any of the databases 1 a to 1 c ofthe information providers A to C. If it is discriminated that the updateobject information and identifier are not distributed, the processingreturns to step S1. If it is discriminated at step S1 that the updateobject information and identifier are distributed, the processing goesto step S2, where the registration section 15 adds the identifier to theupdate object information and then registers the update objectinformation with the identifier to the database 3.

From the databases 1 a to 1 c, the update object information andidentifier are supplied in the format as shown in FIG. 7.

The identifier includes unique ID (identification) allocated in advancefor each of files in which objects of traffic information, weatherinformation, stock price information, and constituent elements of suchinformation are recorded, and version information indicating the newnessof the object. For the version information, an integer value making anincrement of 1 every time the object is updated is used. Therefore, withrespect to objects having the same ID, the latest object can berecognized by comparing the version information. The version informationadded to the update object information is caused to be a valuecorresponding to the version after the update of the object which is tobe updated by the update object information.

In this case, both the ID and version information have a fixed length.Also, a hash value obtained by calculating a unidirectional hashfunction on the basis of the object can be used as the ID.

After adding (associating) the identifier distributed from the databases1 a to 1 c to the update object information distributed similarly fromthe databases 1 a to 1 c, the registration section 15 at step S2retrieves an object to which an identifier having the same ID as the IDconstituting the identifier is added, from the database 3, and updatesthe object on the basis of the update object information. Then, theregistration section 15 makes an increment of 1 on the versioninformation of the identifier added to the updated object.(Alternatively, the registration section 15 copies the versioninformation added to the update object information onto the versioninformation of the identifier added to the updated object.)

After that, at step S3, the registration section 15 outputs to theresource allocation section 12 a notice to the effect that the object isupdated, and returns to step S1.

The resource allocation section 12, having received the notice to theeffect that the object is updated, recognizes the demand for the objecton the basis of the output from the demand processing section 13. On thebasis of the result of recognition, the resource allocation section 12determines a server in which the subject for the updated object shouldbe stored, from among the servers on the communication network 6including the mirror server 7, managed by the duplicate managementsection 14. From this server determined as the server in which thesubject should be stored (hereinafter suitably referred to as a subjectproviding server), the subject is provided to the receiving terminal 5.Therefore, the subject providing server can be regarded as a resourcefor providing the subject. Thus, the determination of the subjectproviding server can be regarded as resource allocation for providingthe subject. The resource allocation is carried out in the subjectproviding processing of FIG. 8, which will be later described.

After determining the subject providing server, the resource allocationsection 12 controls the duplicate management section 14 so as totransmit the update object information for the updated object to thesubject providing server. Under the control of the resource allocationsection 12, the duplicate management section 14 reads out the updateobject information registered to the database 3 at step S2 and theidentifier added thereto, and transmits the update object informationand identifier to the subject providing server through the communicationnetwork 6 or a dedicated line.

The subject providing server, having received the update objectinformation and the identifier added thereto transmitted from the server2, carries out the registration processing of FIG. 6. Since the serveron the communication network 6 except for the server 2 does not have theduplicate management section 14, as described above, distribution of theupdate information and identifier to other servers is not carried out.However, it is possible to carry out such distribution.

The subject providing processing carried out by the server 2 will now bedescribed with reference to the flowchart of FIG. 8. The subjectproviding processing is carried out every time the resource allocationsection 12 receives from the registration section 15 the notice to theeffect that the object is updated.

In the subject providing processing, first, at step S11, the resourceallocation section 12 carries out resource allocation processing.Specifically, at step S11, the subject providing server is determined inthe above-described manner. Then, the resource allocation section 12outputs specification information for specifying the subject providingserver, that is, the IP address of the subject providing server, to theevent constitution section 19.

Moreover, at step S11, the resource allocation section 12 recognizes thedemand for the object for which the notice of update is sent from theregistration section 15 (hereinafter suitably referred to as an updatetarget object), on the basis of the output from the demand processingsection 13. On the basis of the result of recognition, the resourceallocation section 12 determines whether the subject with respect to theobject should be provided by individual transmission or not. If thesubject is to be provided by individual transmission, resourceallocation for securing a recording area (resource) for recording thesubject is carried out to the storage 23. Then, the resource allocationsection 12 outputs the result of resource allocation (in this case,instruction to secure the recording area for recording the subject) tothe storage management section 22.

Also, at step S11, the resource allocation section 12 determines whetherthe subject with respect to the update target object should be providedby multiple-address transmission or not, on the basis of the result ofrecognition of the demand for the update target object. If the subjectis to be provided by multiple-address transmission, the resourceallocation section 12 carries out resource allocation for carrying outmultiple-address transmission of the subject on the basis of the resultof recognition of the demand for the update target object. That is, thetransmission band (data rate) in multiple-address transmission of thesubject and the number of times of transmission (transmission frequency)are determined. Moreover, the broadcasting channel and the broadcastingtime are also determined as the transmission schedule formultiple-address transmission of the subject. Then, the resourceallocation section 12 outputs the result of resource allocation and thetransmission schedule to the event constitution section 19 and thetransmission control section 21.

Immediately after the registration section 15 notifies the resourceallocation section 12 of the update of the object, the demand processingsection 13 sets a so-called initial value of the demand for the updatetarget object from the audience rating of the object transmitted fromthe receiving terminal 5 and the degree of request indicating to whatdegree the information providers want to provide the object, as will belater described. The initial value is supplied to the resourceallocation section 12. Therefore, immediately after the object isupdated, the resource allocation section 12 carries out resourceallocation and scheduling based on the initial value of the demand forthe object. That is, basically, resources are preferentially allocatedto a subject having a large general degree of request as described aboveand a subject for updating an object which the information providerswant to provide early. Also, scheduling is carried out so that a subjectfor updating a recently changed object is transmitted morepreferentially.

Hereinafter, the resource allocation and scheduling for transmitting thesubject, carried out by the resource allocation section 12, arecollectively referred to as resource allocation. (This is becausedetermination of the broadcasting time or the like can be considered asthe processing for allocating a resource of time for transmitting thesubject.)

On completion of the resource allocation at step S11, the processinggoes to step S12, where the subject constitution section 16 constitutesthe subject with respect to the update target object. That is, theresource allocation section 12 controls the subject constitution section16 so as to read out the corresponding update object information and theidentifier added thereto from the database 3 and constitute a subject asshown in FIG. 9. In FIG. 9 (also in FIGS. 11A, 11B and 11C as will belater described), a discrimination flag is arranged immediately afterthe identifier. This discrimination flag expresses whether the data is asubject or an event.

The subject constituted by the subject constitution section 16 issupplied and stored in the subject storage section 17. The processingthen goes to step S13, where the transmission control section 21discriminates whether or not the subject stored in the subject storagesection 17 should be transmitted by multiple-address transmission on thebasis of the result of resource allocation from the resource allocationsection 12. If it is discriminated at step S13 that the subject storedin the subject storage section 17 should be transmitted bymultiple-address transmission (that is, if the resource formultiple-address transmission is allocated to the subject), theprocessing goes to step S14, where the transmission control section 21waits until the broadcasting time determined by the scheduling for thesubject stored in the subject storage section 17 and then controls thetransmission section 18 to transmit the subject by multiple-addresstransmission. Then, the processing goes to step S15.

Thus, the subject is transmitted through the broadcasting network 4 onthe basis of the resources (transmission band, number of times oftransmission, broadcasting channel, broadcasting time) determined by theresource allocation section 12.

On the other hand, if the transmission control section 21 determines atstep S13 that the subject stored in the subject storage section 17should not be transmitted by multiple-address transmission, step S14 isskipped and the processing goes to step S15. The storage managementsection 22 determines whether or not the subject stored in the subjectstorage section 17 should be transmitted by individual transmission onthe basis of the result of resource allocation from the resourceallocation section 12. If it is determined at step S15 that the subjectstored in the subject storage section 17 should be transmitted byindividual transmission (that is, if the resource for individualtransmission is allocated to the subject), the processing goes to stepS16, where the storage management section 22 reads out the subject fromthe subject storage section 17 and secures a storage area (recordingarea) in the storage 23 for storing (recording) the subject therein.Then, the subject providing processing ends.

On the other hand, if it is determined at step S15 that the subjectstored in the subject storage section 17 should not be transmitted byindividual transmission, step S16 is skipped and the subject providingprocessing ends.

The event transmission processing will now be described with referenceto the flowchart of FIG. 10. The event transmission processing iscarried out every time the resource allocation processing of step S11 inthe subject providing processing of FIG. 8 is carried out. In the eventtransmission processing, first, at step S21, the resource allocationsection 12 carries out resource allocation processing formultiple-address transmission of an event including the description ofthe subject obtaining method for the update target object, under thecontrol of the demand processing section 13. Specifically, at step S21,the transmission band (data rate) in the multiple-address transmissionof the event and the number of times of transmission (transmissionfrequency) are determined. The broadcasting channel and the broadcastingtime as the transmission schedule for multiple-address transmission ofthe event are also determined. Then, the resource allocation section 12outputs the result of resource allocation and the transmission scheduleto the transmission control section 21.

Immediately after the registration section 15 notifies the resourceallocation section 12 of the update of the object, the demand processingsection 13 controls the resource allocation section 12 so as to carryout default resource allocation and scheduling. Therefore, immediatelyafter the object is updated, the resource allocation section 12 carriesout default resource allocation and scheduling.

The transmission channel as the transmission schedule formultiple-address transmission of the event is predetermined. In a systemin which the broadcasting channel of the event changes, the receivingterminal 5 must wait for an event to be transmitted at an unknown timeon an unknown channel and the processing load is increased. Also, it isanticipated that failure to receive the event (reception error) willincrease. Thus, the transmission channel is predetermined to preventsuch reception errors. That is, if the event is transmitted on a fixedchannel (constantly on the same channel), the receiving terminal 5 canreceive the event by receiving the incoming data on that channel.Therefore, the processing load for receiving the event is minimized andthe failure to receive the event is reduced.

Hereinafter, the resource allocation and scheduling for transmitting theevent, carried out by the resource allocation section 12, arecollectively referred to as resource allocation, similarly to the caseof the subject.

On completion of the resource allocation processing for the event atstep S21, the processing goes to step S22, where the event constitutionsection 19 constitutes an event for obtaining a subject with respect tothe update target object. Specifically, the event constitution section19 constitutes an event having the same identifier as the identifieradded to the subject constituted by the subject constitution section 16,added to the update target object, as shown in FIGS. 11A, 11B and 11C.The event is constituted by arranging a discrimination flag in the sameidentifier as the identifier added to the subject, and also by arrangingbroadcasting schedule information or server access information, as shownin FIGS. 11A, 11B and 11C.

The broadcasting schedule information is information necessary forreceiving the subject (description of the subject obtaining method) inthe case where the subject is to be broadcast through the broadcastingnetwork 4. The broadcasting schedule information includes thebroadcasting channel, broadcasting time, data rate, the number of timesof transmission and the like of the subject as the result of resourceallocation supplied from the resource allocation section 12. Therefore,the broadcasting channel and the broadcasting time of the subject forupdating the object of the identifier constituting the event can berecognized by referring to the broadcasting schedule informationconstituting the event. Thus, it is possible to receive the subject.

The broadcasting schedule information constituting the event can includethe providing status of the subject obtained on the basis of the event,that is, the time required for multiple-address transmission of thesubject (on the side of the receiving terminal 5, the time required forreceiving the subject, which need not be the time itself but can berecognized from the data rate and the data quantity of the subject) andthe like.

The broadcasting schedule information can also include the type ofupdate of the object carried out by using the subject thus obtained,that is, information concerning which of new registration, change, anddeletion of the object is to be carried out.

The server access information is information necessary for requestingthe subject through the communication network 6 (description of thesubject obtaining method) in the case where the subject is to betransmitted from the server 2, the mirror server 7 or another subjectproviding server through the communication network 6 (that is, in thecase where the subject is transmitted by individual transmission). Theserver access information includes information concerning the locationin the network topology such as the IP address of the server 2, themirror server 7 or another server on the communication network 6. The IPaddress of the server 2 is supplied from the resource allocation section12 to the event constitution section 19 in the case where the subject isstored in the storage 23. The resource allocation section 12 alsosupplies the IP address of the subject providing server to the eventconstitution section 19 with reference to the duplicate managementsection 14.

By referring to the server access information constituting the event,the server which manages the subject for updating the object of theidentifier constituting the event can be recognized. Thus, it ispossible to request individual transmission of the subject to theserver.

The server 2 and the mirror server 7 manage the subject by associatingthe URL constituted by adding the identifier to the IP address, with thesubject constituted by the update object information and the identifieradded thereto. In this case, the receiving terminal 5, having receivedthe event, can recognize the URL of the subject having the sameidentifier as the identifier of the event, from the server accessinformation and identifier constituting the event.

The server access information constituting the event can include theproviding status of the subject obtained on the basis of the event, thatis, the degree of congestion of the circuit for individual transmissionof the subject, the substantial transfer rate (the type and speed of thecircuit connected to the server for transmitting the subject byindividual transmission) and the like.

The server access information can also include the type of update of theobject carried out by using the subject thus obtained (that is, which ofnew registration, change, and deletion of the object), similarly to thebroadcasting schedule information.

In a certain case, the subject is provided only through the broadcastingnetwork 4. In such a case, only an event in which the broadcastingschedule information is arranged is constituted as the event withrespect to the subject, as shown in FIG. 11A. On the contrary, inanother case, the subject is provided only through the communicationnetwork 6. In such a case, only an event in which the access serverinformation is arranged is constituted as the event with respect to thesubject, as shown in FIG. 11B.

In the case where the subject is to be transmitted through thebroadcasting network 4 on a plurality of channels and at a plurality oftimes, an event in which broadcasting schedule information correspondingto the plurality of channels and the plurality of times is arranged isproduced as the event with respect to the subject. Similarly, in thecase where the subject can be provided through the communication network6 from a plurality of servers, an event in which server accessinformation corresponding to the plurality of servers is arranged isproduced as the event with respect to the subject. In this case, thereceiving terminal 5 can select the server to access from the pluralityof servers.

In the case where a plurality of subject obtaining methods exist, theevent constitution section 19 prepares both broadcasting scheduleinformation and server access information, or prepares a plurality ofpieces of broadcasting schedule information or server accessinformation. In this case, one event in which all the information isarranged may be constituted instead of constituting events in whichrespective pieces of information are arranged. FIG. 11C shows an eventin which both broadcasting schedule information and server accessinformation are arranged.

Also, in the case where a plurality of subject obtaining methods exist,it is sometimes desired to preferentially obtained the subject at thereceiving terminal 5 particularly by a predetermined obtaining methodfrom among the plural obtaining methods. For example, in the case wherethe subject is provided from the server 2 both by multiple-addresstransmission and by individual transmission, when there are a number ofreceiving terminals demanding the subject, providing by multiple-addresstransmission is more efficient than providing by individualtransmission. Thus, in such a case, it is possible to cause the resourceallocation section 12 to preferentially allocate the resource by usingthe obtaining method by multiple-address transmission, that is, to theevent in which the broadcasting schedule information is arranged, thanby using the obtaining method by individual transmission, that is, tothe event in which the server access information is arranged.Specifically, it is possible to allocate a higher data rate or toadvance the broadcasting time with respect to the event in which thebroadcasting schedule information is arranged than the event in whichthe server access information is arranged.

Referring again to FIG. 10, as the event constitution section 19prepares the event for obtaining the update target object at step S22,the event is supplied and stored in the event storage section 20. Then,the processing goes to step S23, where the transmission control section21 waits until the broadcasting time determined by the scheduling withrespect to the event stored in the event storage section 20 and thencontrols the transmission section 18. Thus, the event is transmitted bymultiple-address transmission and the event transmission processingends.

Thus, the event is transmitted through the broadcasting network 4 on thebasis of the resources (transmission band, number of times oftransmission, broadcasting channel, broadcasting time and the like)determined by the resource allocation section 12.

Basically, the multiple-address transmission of the event or subject iscarried out repeatedly for the following reason. That is, sincetransmission of data through the broadcasting network 4 is carries outonly unidirectionally from the server 2 to the receiving terminal 5, itis possible to confirm whether data transmission/reception has beenaccurately carried out or not between the server 2 and the receivingterminal 5. Thus, the server 2 is adapted to repeat data transmissiononly for the number of times of transmission (or during the transmissiontime) as the result of resource allocation by the resource allocationsection 12, thereby improving the probability of accurate data receptionat the receiving terminal 5.

The resource allocation section 12 carries out scheduling so that,basically, multiple-address transmission of the subject with respect tothe update target object is carried out after multiple-addresstransmission of the event for obtaining the subject. This is because theevent for receiving the subject cannot be referred to at the receivingterminal 5 is the multiple-address transmission of the subject iscarried out before the multiple-address transmission of the event.

As is understood from the structure of the subject and event shown inFIGS. 9 and 11, in general, the event has a small data quantity and thesubject has a large data quantity. Therefore, the resource allocationsection 12 carries out resource allocation so that the number of timesof transmission is basically large for the event and small for thesubject. Thus, the probability that the receiving terminal 5 fails toreceive the event transmitted through the broadcasting network 4 isreduced. Moreover, if the event can be correctly received, the channeland time at which the subject is transmitted through the broadcastingnetwork 4 can be recognized by referring to the broadcasting scheduleinformation included in the event. Consequently, the probability offailure to receive the subject transmitted for a small number of timescan also be reduced. Even in the case where reception of the subjectwith the recognized broadcasting channel or broadcasting time based onthe event ends up in failure, or even in the case where the subject isrequired before the broadcasting time, the subject can be obtained earlyand securely by accessing the server 2 or the mirror server 7 throughthe communication network 6 on the basis of the server accessinformation if the server access information is included in the event.

From the above description, it is necessary or important that thereceiving terminal 5 first receives the event. Therefore, it is desiredto allocate the broadcasting time of the event or a broad transmissionband to a time zone predicted to secure the state where the receivingterminal 5 can receive the data transmitted by multiple-addresstransmission.

The request data receiving processing carried out by the server 2 willnow be described with reference to the flowchart of FIG. 12.

The receiving terminal 5 transmits request data through thecommunication network 6. At step S31, it is discriminated whether or notthe request data is received at the communication control section 11.

Specifically, the receiving terminal 5 receives an event transmitted bymultiple-address transmission as described above. If a subjectcorresponding the event (subject obtained on the basis of the event) isimmediately needed, or if the subject is not immediately needed but isneeded earlier than the broadcasting time described in the broadcastingschedule information of the event, the receiving terminal 5 transmitsthe request data for requesting the subject, for example, to the server2 through the communication network 6. At step S31, it is discriminatedwhether or not the request data thus transmitted is received at thecommunication control section 11.

If it is discriminated at step S31 that the request data is notreceived, the processing returns to step S31. If it is discriminated atstep S31 that the request data is received, the request data is suppliedto the demand processing section 13. The processing then goes to stepS32, where the demand processing section 13 discriminates whether therequest data requests multiple-address transmission or individualtransmission of the subject.

FIG. 13 shows the format of the request data transmitted from thereceiving terminal 5.

The request data includes the identifier (ID and version information) ofthe subject requested thereby, and description of the way to receive theprovision of the subject (the providing method for receiving theprovision of the subject), as shown in (A) of FIG. 13. The way toreceive the provision of the subject (hereinafter suitably referred toas the providing method) includes different information in accordancewith the case of multiple-address transmission or the case of individualtransmission.

Specifically, as the providing method for the request data requestingthe provision of the subject by multiple-address transmission, a requestidentification flag, designation of broadcasting date, receivingterminal ID and the like are arranged, as shown in (B) of FIG. 13.

The request identification flag is adapted for identifying whether therequest data requests the provision of the subject by multiple-addresstransmission or by individual transmission. As the requestidentification flag of the request data requesting the provision of thesubject by multiple-address transmission, information indicating thatthe request data requests the provision of the subject bymultiple-address transmission is arranged.

As the designation of broadcasting date, the extent of request(hereinafter suitably referred to as the degree of request) of thesubject requested by the request data (hereinafter suitably referred toas the requested subject) is arranged. That is, as the designation ofbroadcasting date, information indicating that the subject isimmediately needed, information indicating by when or within how manyhours the subject will be needed, or the broadcasting date (includingthe time, if necessary) desired for broadcasting the subject bymultiple-address transmission is arranged.

As the receiving terminal ID, information for specifying the receivingterminal which transmitted the request data is arranged. Specifically,each receiving terminal has unique ID allocated thereto, and the ID isarranged as the receiving terminal ID. As the receiving terminal ID, forexample, the IP address, the Ethernet address (MAC (media accesscontrol) address) or the like can be used. With respect to the requestdata requesting the provision of the subject by multiple-addresstransmission, it is possible to avoid arrangement of the receivingterminal ID.

On the other hand, as the providing method for the request datarequesting the provision of the subject by individual transmission, arequest identification flag, receiving terminal ID and the like arearranged, as shown in (C) of FIG. 13. In this case, informationindicating that the request data requests the provision of the subjectby individual transmission is arranged as the request identificationflag, and unique ID appended to the receiving terminal which is thetransmission source of the request data is arranged as the receivingterminal ID, similarly to the case shown in (B) of FIG. 13.

Referring again to FIG. 12, if it is discriminated at step S32 that therequest data request multiple-address transmission of the subject, theprocessing goes to step S33, where the demand processing section 13totals the demand for multiple-address transmission of the subjectrequested by the request data. Specifically, the demand processingsection 13 detects the request data for requesting multiple-addresstransmission of the subject, transmitted during a predetermined pastperiod retrospectively from the present time. Then, the demandprocessing section 13 calculates the general degree of request asdescribed above on the basis of the detected request data, as the resultof totaling of the demand for multiple-address transmission of thesubject. The result of totaling of the demand for multiple-addresstransmission of the subject is supplied from the demand processingsection 13 to the resource allocation section 12.

On receiving the result of totaling of the demand for multiple-addresstransmission of the requested subject, the resource allocation section12 goes to step S34 and discriminates whether the resource allocation ofthe requested subject should be changed or not, on the basis of theresult of totaling. If it is discriminated at step S34 that the resourceallocation of the requested subject should not be changed, that is, ifthe demand for multiple-address transmission of the requested subject isbalanced with the present resource allocation with respect to therequested subject, the request data receiving processing ends.Therefore, in this case, the requested subject is to be latertransmitted by multiple-address transmission of the basis of the presentresource allocation.

If it is discriminated at step S34 that the resource allocation of therequested subject should be changed, that is, if the demand formultiple-address transmission of the requested subject is higher orlower and therefore is not balanced with the present resource allocationwith respect to the requested subject, the processing goes to step S35,where the resource allocation section 12 changes the resource allocationwith respect to the requested subject, as described with reference toFIGS. 3A, 3B and 4.

Specifically, if the demand for multiple-address transmission of therequested subject is higher, for example, the transmission bandallocated to the requested subject is changed to be broader, or thebroadcasting time for multiple-address transmission of the requestedsubject is changed to be earlier. On the contrary, if the demand formultiple-address transmission of the requested subject is lower, forexample, the transmission band allocated to the requested subject ischanged to be narrower, or the broadcasting time for multiple-addresstransmission of the requested subject is changed to be later. Then, theresource allocation section 12 transmits information about the changedresource allocation to the transmission control section 21.

After the change of the resource allocation, the processing goes to stepS36, where multiple-address transmission is carried out in accordancewith the changed resource allocation under the control of thetransmission control section 21. Specifically, if the requested subjectobtaining method (for example, broadcasting time or the like) is changedin accordance with the change of the resource allocation with respect tothe requested subject, an event including description of the changedobtaining method is constituted and transmitted by multiple-addresstransmission as described above. The receiving terminal 5 receives theevent, thereby recognizing that the broadcasting time or the like of therequested subject is changed.

After the transmission of the event, the requested subject istransmitted by multiple-address transmission in accordance with thechanged resource allocation, and the request data receiving processingends.

Thus, more resources are allocated to the subject of large demand andless resources are allocated to the subject of small demand, therebyenabling efficient multiple-address transmission of the subject.

Meanwhile, if it is discriminated at step S32 that the request datarequests individual transmission of the subject, the processing goes tostep S37, where the demand processing section 13 totals the demand forindividual transmission of the subject requested by the request data.Specifically, the total number of request data that have not been dealtwith, of the request data transmitted in the past for requestingindividual transmission of the requested subject, is calculated. (Thatis, request data for which neither individual transmission norload-distributed processing as will be later described has been carriedout, of the request data requesting individual transmission, iscalculated.) The result of totaling of the demand for individualtransmission of the subject is supplied from the demand processingsection 13 to the resource allocation section 12. The totaling of thedemand for individual transmission can also be carried out, for example,by counting the number of receiving terminals which transmitted therequest data requesting individual transmission within a predeterminedunit time period.

On receiving the result of totaling of the demand for individualtransmission of the requested subject, the resource allocation section12 goes to step S38 and discriminates whether or not the server 2 hassufficient processing capability with respect to the demand forindividual transmission of the requested subject. If it is discriminatedat step S38 that the server 2 has sufficient processing capability withrespect to the demand for individual transmission of the requestedsubject, the processing goes to step S39, where the resource allocationsection 12 allocates a resource necessary for individual transmission ofthe requested subject (for example, particularly the processing time forcarrying out processing for individual transmission of the requestedsubject) to the communication control section 11 and the storagemanagement section 22, which are blocks concerning individualtransmission.

The processing goes to step S40, where the requested subject istransmitted by individual transmission through the communication network6 on the basis of the resource allocation of step S39. Then, the requestdata receiving processing ends. Specifically, the storage managementsection 22 reads out the requested subject from the storage 23 under thecontrol of the resource allocation section 12. The requested subject isrecognized by referring to the identifier included in the request data.(The identifier, which is adapted for identifying the object, is alsoadapted for identifying the event and subject.)

The storage management section 22 supplies the requested subject readout from the storage 23 to the communication control section 11, andcauses the communication control section 11 to transmit the requestedobject through the communication network 6 to the receiving terminalwhich transmitted the request data. The receiving terminal whichtransmitted the request data is recognized by referring to the receivingterminal ID included in the request data.

On the other hand, if the resource allocation section 12 discriminatesat step S38 that the server 2 does not have sufficient processingcapability with respect to the demand for individual transmission of therequested subject, the processing goes to step S41, whereload-distributed processing is carried out. Then, the request datareceiving processing ends.

Specifically, in the load-distributed processing, first, the resourceallocation section 12 controls the event constitution section 19 so thatthe IP addresses of subject providing servers except for the server 2managing the requested subject constitute an event arranged as serveraccess information. Moreover, the resource allocation 12 controls thetransmission control section 21 to preferentially transmitting bymultiple-address transmission the event constituted by the eventconstitution section 19. Thus, in the load-distributed processing, theevent in which the IP addresses of the subject providing servers exceptfor the server 2 are arranged as server access information istransmitted by multiple-address transmission preferentially over otherevents.

In the case where the load-distributed processing is carried out at theserver 2, individual transmission of the requested subject to thereceiving terminal which requested individual transmission is notcarried out. However, the receiving terminal can recognize the subjectproviding server managing the requested subject, by receiving the eventtransmitted by multiple-address transmission in accordance with theload-distributed processing. By newly requesting individual transmissionof the requested subject to the subject providing server, the receivingterminal can receive the provision of the requested subject.

In this case, since an access (request for individual transmission) tothe server 2 can be consequently distributed to another server (subjectproviding server), the processing at step S41 of FIG. 12 is calledload-distributed processing.

FIG. 14 shows an exemplary structure of the receiving terminal 5 of FIG.1.

A receiving section 31 receives the data transmitted from the server 2through the broadcasting network 4, that is, events and subjects, andoutputs the data to a selection section 32. The selection section 32selects an event or subject from the receiving section 31 and suppliesthe selected event and subject to a data management section 33. The datamanagement section 33 updates an object registered in a database 34 onthe basis of the subject supplied from the selection section 32 or anevent processing section 40. Moreover, the data management section 33outputs the event supplied from the selection section 32 to an eventstorage section 39.

The database 34 is constituted by, for example, a hard disk, amagneto-optical disc, or another recording medium of a large capacity,and is adapted for storing the object. A reading section 35 reads outthe object stored in the database 34 in response to the operation of anoperating section 37 and supplies the object to an output section 36.The output section 36 is constituted by, for example, a display or aspeaker, and is adapted for displaying an image corresponding to theobject from the reading section 35 or form outputting a soundcorresponding thereto. The operating section 37 is operated by the userin the case where the reading section 35 is caused to read out theobject from the database 34.

A rating management section 38 monitors the object read out from thedatabase 34 by the reading section 35 and calculates the audience ratingof each object. The audience rating is read out from a communicationcontrol section 42 and transmitted to the server 2 through thecommunication network 6, for example, periodically or in response to therequest from the server 2. In the server 2, the audience rating thustransmitted is received by the communication control section 11 and issupplied to the demand processing section 13. The demand processingsection 13 sets an initial value of the demand for the update targetobject as described above, on the basis of the audience rating thusobtained.

The event storage section 39 stores the event outputted from the datamanagement section 33. The event processing section 40 reads out theevent stored in the event storage section 39 and controls the receivingsection 31 and a request data constitution section 41 on the basis ofthe event, thereby carrying out processing for obtaining the necessarysubject. The request data constitution section 41 constitutes therequest data as described with reference to FIG. 13 under the control ofthe event processing section 40.

The communication control section 42 is adapted for carrying outcommunication control through the communication network 6, therebytransmitting the request data outputted from the request dataconstitution section 41 and the audience rating outputted from therating management section 38 through the communication network 6, orreceiving the subject transmitted through the communication network 6.The subject received by the communication control section 42 is suppliedto the data management section 33 through the event processing section40.

At the receiving terminal 5 constituted as described above, receivingprocessing for receiving the event and subject transmitted from theserver 2 through the broadcasting network 4 and event processing forprocessing the event received by the receiving processing are carriedout.

The receiving processing will now be described with reference to theflowchart of FIG. 15.

When data is transmitted from the server 2 through the broadcastingnetwork 4, the receiving section 31 at step S41 receives the data, thatis, the event or subject, and supplies the data to the selection section32. At step S42, the selection section 32 evaluates the necessity of theevent or subject from the receiving section 31 and discriminates whetherthe event or subject should be selected or not, on the basis of theresult of evaluation.

Specifically, in the case where all the events and subjects transmittedfrom the server 2 through the broadcasting network 4 are to be received,the database 34 and the event storage section 39 must have an extremelylarge storage capacity. The user has his/her preference and each userrarely needs all the objects stored in the database of the server 2. Itis not preferred that all the registered contents of the database 3 ofthe server 2 are reflected on the database 34 despite the need for alarge storage capacity and the user's preference as described above.

Thus, if ID (ID constituting the above-described identifier) for anobject desired by the user is registered to the selection section 32,the selection section 32 selects only the event or object having thesame ID as that ID. In this case, the evaluation of the necessity of theevent or subject at step S42 is carried out by comparing the IDregistered by the user and the ID constituting the identifier of theevent or subject supplied from the receiving section 31.

Also, the evaluation of the necessity of the event or subject at stepS42 can be carried out, for example, on the basis of the audience ratingmanaged by the rating management section 38. In this case, when therating of the subject corresponding to the event or subject from thereceiving station 31 (the object to which the same ID as that of theevent or subject from the receiving section 31 is appended) is 0%, theevent or subject is eliminated by the selection section 32. However, forexample, immediately after the purchase of the receiving terminal 5,since no audience rating is stored in the rating management section 38,all the event and subjects are eliminated by the selection section 32.Thus, at the receiving terminal 5, whether selection of events andsubjects based on the audience rating is to be carried out by theselection section 32 as described above can be set by operating theoperating section 37. Specifically, if the operating section 37 is setnot to carry out the processing of step S43 after the processing of stepS41 without carrying out the processing of step S42. If no audiencerating is stored in the rating management section 38 even when suchsetting is not carried out, it is possible to automatically skip theprocessing of step S42 so as to proceed to step S43.

If it is discriminated at step S42 that the event or subject from thereceiving section 31 should not be selected, the processing returns tostep S41 when the next event or subject is transmitted through thebroadcasting network 4. Therefore, in this case, the event is not storedin the event storage section 39 and updating of the database 34 based onthe subject is not carried out, either.

On the other hand, if it is discriminated at step s42 that the event orsubject from the receiving section 31 should be selected, the selectionsection 32 outputs the event or subject from the receiving section 31 tothe data management section 33, and the processing goes to step S43. Atstep S43, the data management section 34 discriminates whether the eventor subject from the selection section 32 concerns a new object or not.

If it is discriminated at step S43 that the event or subject from theselection section 32 concerns a new object, that is, if an object havingthe same ID as the ID included in the event or subject is not registeredto the database 34, the processing goes to step S45, skipping step S44.

If it is discriminated at step S43 that the event or subject from theselection section 32 does not concern a new object, that is, if anobject having the same ID as the ID included in the event or subject isregistered to the database 34, the processing goes to step S44. Then,the data management section 33 discriminates whether or not the versioninformation described in the identifier of the object already registeredto the database 34 (hereinafter suitably referred to as a registeredobject) is equal to the version information described in the identifierof the event or subject from the selection section 32.

If the version information described in the registered object is equalto the version information described in the event or subject from theselection section 32 at step S44, that is, if the registered object isalready updated by the subject of the past transmission of repeatedtransmission of the same subject through the broadcasting network 4 fromthe server 2 to improve the reliability as described above, steps S45 toS47 are skipped, and the processing returns to step S41 when the eventor subject is transmitted next. Therefore, in this case, the event isnot stored in the event storage section 39 and updating of the database34 based on the subject is not carried out, either.

On the other hand, if the version information described in theregistered object is not equal to the version information described inthe event or subject from the selection section 32 at step S44, that is,if the version of the event or subject from the selection section 32 isnewer than the version of the registered object, the processing goes tostep S45, where the data management section 33 discriminates whether theoutput of the selection section 32 is an event or a subject by referringto the discrimination flag.

If it is discriminated at step S45 that the output of the selectionsection 32 is a subject, the processing goes to step S46, where the datamanagement section 33 updates the database 34 on the basis of thesubject.

Specifically, if a new object is arranged as update object informationin the subject, the new object is associated with the identifierincluded in the subject and is newly registered to the database 34.

If the updated object is arranged as update object information in thesubject, an object having the identifier having the same ID as the IDincluded in the subject is retrieved from the database 34, and theretrieved object is changed to the updated object. Moreover, anincrement of 1 is made on the version information associated with theobject.

If an object deletion command is arranged as update object informationin the subject, an object associated with the identifier having the sameID as the ID included in the subject is retrieved from the database 34and is deleted together with the identifier associated with the object.

The update of the object based on the update object information at stepS2 of the registration processing described in FIG. 6 is carried outsimilarly.

After the database 34 is updated in the above-described manner at stepS46, the processing returns to step S41 when the event or subject istransmitted next.

Meanwhile, if it is discriminated at step S45 that the output of theselection section 32 is an event, the processing goes to step S47, wherethe data management section 33 supplies the event to the event storagesection 39 so as to temporarily store the event therein. Then, theprocessing returns to step S41 when the event or subject is transmittednext.

The event stored in the event storage section 39 at step S47 is erasedafter it is read out from the event storage section 39 by the eventprocessing section 40 in the event processing, which will be describedhereinafter.

The event processing carried out by the receiving terminal 5 will now bedescribed with reference to the flowchart of FIG. 16. This eventprocessing is periodically carried out at the receiving terminal 5.However, it is possible to carry out the event processing irregularly.

In the event processing, first, at step S51, the storage contents of theevent storage section 39 are retrieved by the event processing section41. The processing then goes to step S52, where it is discriminatedwhether or not events are stored in the event storage section 39. If itis discriminated at step S52 that events are not stored, the eventprocessing ends.

If it is discriminated at step S52 that events are stored in the eventstorage section 39, the event processing section 40 reads out eventshaving the same identifier appended thereto from the events stored inthe event storage section 39. With respect to the read-out events(hereinafter suitably referred to as processing target events),processing of step S53 and the subsequent steps is carried out.

Specifically, at step S53, the event processing section 40 discriminateswhether multiple-address transmission of a subject corresponding to theprocessing target event (a subject to which the same identifier as thatof the processing target event is appended) is scheduled or not. If itis discriminated at step S53 that multiple-address transmission of thesubject corresponding to the processing target event (hereinaftersuitably referred to as a noted subject) is scheduled, that is, ifbroadcasting schedule information is arranged in the processing targetevent, the processing goes to step S54. The event processing section 40evaluates the necessity of the noted subject and discriminates whetherrequest data for requesting the noted subject should be transmitted ornot on the basis of the result of evaluation.

Even in the case where multiple-address transmission of the notedsubject is scheduled, if the noted subject is needed before thebroadcasting time at which the multiple-address transmission is to becarried out (for example, if the application requires the object to beupdated by the noted subject), it is evaluated that the noted subject isneeded early. On the basis of this result of evaluation, it isdiscriminated at step S54 that the request the noted subject should betransmitted. On the other hand, if the noted subject is needed after thebroadcasting time at which the multiple-address transmission is to becarried out (for example, if the application requiring the object to beupdated by the noted subject has not started), it is evaluated that thenoted subject is not needed early. On the basis of this result ofevaluation, it is discriminated at step S54 that the request datarequesting the noted subject should not be transmitted.

If it is discriminated at step S54 that the request data requesting thenoted subject should not be transmitted, the processing goes to stepS55, where the event processing section 40 controls the receivingsection 31 to receive the noted subject transmitted in accordance withthe broadcasting schedule information of the processing target event.Then, the event processing ends. In this case, when the broadcastingtime of the noted subject is reached, the receiving section 31 turns thepower of the receiving terminal 5 on, if the power is off. Then, thereceiving terminal 5 carries out the receiving processing described inFIG. 15. Thus, the noted subject is received (obtained) in delayedsynchronization, for example, in conformity to the protocol based on theUDP, and the object stored in the database 34 is updated on the basis ofthe noted subject.

If there are a plurality of processing target events and thebroadcasting schedule information is arranged in two or more theplurality of events, the broadcasting schedule information of theearliest broadcasting time is selected and the receiving section 31 iscontrolled to receive the noted subject in accordance with the selectedbroadcasting schedule information at step S55. Alternatively, thebroadcasting schedule information having the shortest time periodrequired for receiving the noted subject (time required formultiple-address transmission from the server 2) is selected from theplurality of pieces of broadcasting schedule information by referring tothe providing status of the noted subject arranged therein, and thenoted subject is received in accordance with the selected broadcastingschedule information.

Meanwhile, if the event processing section 40 discriminates at step S53that multiple-address transmission of the noted subject is not scheduled(if there is no processing target event having the broadcasting scheduleinformation arranged therein and there is only processing target eventshaving the server access information arranged therein), or if it isdiscriminated at step S54 that the request data requesting the notedsubject should be transmitted, the processing goes to step S56. Theevent processing section 40 evaluates the necessity of the notedsubject, and discriminates whether the noted subject is immediatelyneeded or not on the basis of the result of evaluation.

For example, if the application immediately requires the object to beupdated by the noted subject, the necessity of the noted subject isevaluated as being high. On the basis of this result of evaluation, itis discriminated at step S56 that the noted subject is immediatelyneeded. On the other hand, for example, if the application requiring theobject to be updated by the noted subject has not started, the necessityof the noted subject is evaluated as being low. On the basis of thisresult of evaluation, it is discriminated at step S56 that the notedsubject is not immediately needed.

If the event processing section 40 discriminates at step S56 that thenoted subject is immediately needed, the processing goes to step S59 andthe request data constitution section 41 is controlled to constituterequest data requesting individual transmission of the noted subject. Onconstituting the request data requesting individual transmission of thenoted subject, the request data constitution section 41 controls thecommunication control section 42 to transmit the request data to theserver 2 through the communication network 6. Then, the processing goesto step S60.

Having received the request data requesting individual transmission ofthe noted subject, thus transmitted, the server 2 carries out individualtransmission at step S40 in the request data receiving processingdescribed in FIG. 12. Thus, the noted subject may be synchronouslytransmitted to the receiving terminal 5 through the communicationnetwork 6, for example, in conformity to the protocol based on theTCP/IP. At step S60, the communication control section 42 discriminateswhether or not the noted subject is transmitted in such a manner.

If the communication control section 42 discriminates at step S60 thatthe noted subject is transmitted by individual transmission, theprocessing goes to step S58, where the noted subject is received. Thenoted subject received by the communication control section 42 issupplied to the data management section 33 through the event processingsection 41. The data management section 33 updates the object stored inthe database 34 on the basis of the noted subject. Thus, the eventprocessing ends.

On the other hand, if the communication control section 42 discriminatesat step S60 that the noted subject is not transmitted by individualtransmission, the processing goes to step S61, where it is discriminatedwhether or not a predetermined time has elapsed from the transmission ofthe request data requesting individual transmission at step S59. If thecommunication control section 42 discriminates at step S61 that apredetermined time has not elapsed from the transmission of the requestdata requesting individual transmission, the processing returns to stepS60.

If the communication control section 42 discriminates at step S61 that apredetermined time has elapsed from the transmission of the request datarequesting individual transmission, the event processing ends.Specifically, at the server 2 having received the request datarequesting individual transmission, the load-distributed processing maybe carried out at step S41 in the request data receiving processingdescribed in FIG. 12. In such a case, the noted subject is nottransmitted by individual transmission. Therefore, if the noted subjectis not transmitted by individual transmission even after a predeterminedtime elapsed from the transmission of the request data requestingindividual transmission, the event processing ends.

In this case, an event in which the IP address of the subject providingserver except for the server 2 is arranged as server access informationis transmitted by multiple-address transmission by the load-distributedprocessing carried out at step S41 in the request data receivingprocessing described in FIG. 12. Therefore, at the receiving terminal 5,the event processing (FIG. 16) is carried out after receiving the event.Thus, the request data is transmitted to the server corresponding to theserver access information arranged in the received event at step S59 soas to request individual transmission of the noted subject.

If a plurality of events having server access information arrangedtherein exist among the processing target events, it is possible at stepS59 to select the server access information having the minimumcongestion of the circuit for carrying out individual transmission ofthe noted subject or the server access information substantially havingthe highest transfer rate from among the plural pieces of server accessinformation by referring to the providing status of the noted subjectarranged therein and to request the noted subject in accordance with theselected server access information. (In this case, the request datarequesting individual transmission is not necessarily transmitted to theserver 2.)

Meanwhile, if the event processing section 40 discriminates at step S56that the noted subject is not immediately needed, the processing goes tostep S57 and the event processing section 40 controls the request dataconstitution section 41 to constitute request data requestingmultiple-address transmission of the noted subject. On constituting therequest data requesting multiple-address transmission of the notedsubject, the request data constitution section 41 controls thecommunication control section 42 to transmit the request data to theserver 2 through the communication network 6. Then, the event processingends. The request data requesting multiple-address transmission of thenoted subject can include the broadcasting time (broadcasting date) atwhich multiple-address transmission of the noted subject is to becarried out.

As described above, at the server 2, the subject is generated and theevent for obtaining the subject is generated. At the same time, therequest for the subject from the receiving terminal 5 is totaled andresources necessary for providing the subject are allocated on the basisof the result of totaling. Then, the event is provided to the receivingterminal 5 and the subject is provided on the basis of the allocatedresources. On the other hand, at the receiving terminal 5, the event isreceived and the necessity of the subject that can be obtained on thebasis of the event is evaluated. On the basis of the result ofevaluation, the request data requesting the subject is transmitted tothe server 2. In accordance with the request for the subject of therequest data, the subject provided from the server 2 is obtained on thebasis of the event and the object is updated. Therefore, the subjectused for updating the object needed at the receiving terminal 5 can beefficiently provided, and updating of the object can be efficientlycarried out using the subject.

In the above-described case, update object information is provided fromthe server 2 of FIG. 1 to the mirror server 7 (and a server on thecommunication network 6, not shown) through the communication network 6or a dedicated line. However, it is possible to cause the mirror server7 to obtain the subject similarly to the receiving terminal 5 andprovide the subject and the event for obtaining the subject to thereceiving terminal 5.

Specifically, FIG. 17 shows an exemplary structure of such a mirrorserver 7.

In the embodiment of FIG. 17, the mirror server 7 is constituted by atransmission block 101 and a receiving block 102.

A communication control section 111, a resource allocation section 112,a demand processing section 113, a subject constitution section 116, asubject storage section 117, a transmission section 118, an eventconstitution section 119, an event storage section 120, a transmissioncontrol section 121, a storage management section 122, and a storage123, which constitute the transmission block 101, correspond to thecommunication control section 11, the resource allocation section 12,the demand processing section 13, the subject constitution section 16,the subject storage section 17, the transmission section 18, the eventconstitution section 19, the event storage section 20, the transmissioncontrol section, the storage management section 22, and the storage 23,respectively, which constitute the server 2 of FIG. 5. A receivingsection 131, a selection section 132, a data management section 133, anevent storage section 139, an event processing section 140, a requestdata constitution section 141, and a communication control section 142,which constitute the receiving block 102, correspond to the receivingsection 31, the selection section 32, the data management section 33,the event storage section 39, the event processing section 40, therequest data constitution section 41, and the communication controlsection 42, respectively, which constitute the receiving terminal 5 ofFIG. 14.

In the receiving block 102, processing similar to the case of thereceiving terminal 5 (the above-described receiving processing, eventprocessing or the like) is carried out, thus updating the database 8.However, selection of the event or subject by the selection section 132is carried out on the basis of the demand for the update target objectobtained by the demand processing section 113. Specifically, theselection section 132 evaluates the necessity of the subjectcorresponding to each object from the request data to the mirror server7, and selects only the subject for which many requests are sent to themirror server 7 on the basis of the result of evaluation. Consequently,only the object to be updated by such a subject is registered to thedatabase 8, and the subject constitution section 116 or the eventconstitution section 119 of the transmission block 102 constitutes thesubject or event only with respect to such an object.

In FIG. 17, the output of the receiving section 131 can be supplieddirectly to the data management section 133 without carrying out theabove-described selection by the selection section 132.

The data distribution system to which the present invention is appliedis described above. Such a data distribution system is usefulparticularly in the case where data is to be distributed to a number ofdatabases constituting distributed databases, the case where data is tobe distributed by IP multicast, and the case where data is to bedistributed to a number of unspecified parties. In the embodiment, theevent is transmitted through the broadcasting network 4. However, theevent may be transmitted through the communication network 6, forexample, in response to the request from the receiving terminal 5.Moreover, in the present invention, it is not essential to provide boththe broadcasting network 4 and the communication network 6. That is, thepresent invention can be applied to a system having a network at leastcapable of bidirectional communication.

In the embodiment, the IP address of the server 2 or the mirror server 7is arranged as the server access information. However, the telephonenumber or the like for access to the server 2 or the mirror server 7 canalso be arranged as the server access information.

Moreover, in the embodiment, the updated object itself is arranged asthe update object information included in the subject. However, data forreflecting the contents of change to the updated object onto the objectbefore update (for example, a computer program of an execution formatfor changing the object before update to the updated object, or thedifference between the updated object and the object before update) canalso be arranged as the update object information.

What is claimed is:
 1. A communication system comprising: a contentsproviding device for providing a contents signal; a plurality ofcontents receiving devices for receiving the contents signal providedfrom the contents providing device; and a database in which a pluralityof contents signals are registered, the contents providing devicehaving: receiving means for receiving request signals transmitted fromthe plurality of contents receiving devices, totaling means for totalingthe request signals received by the receiving means, resource allocationmeans for allocating a resource for providing the contents signal on thebasis of the result of totaling by the totaling means, contentsproviding means for providing the contents signal to the plurality ofcontents receiving devices on the basis of the resource allocated by theresource allocation means, event signal generation means for generatingan event signal indicating the provision of the contents signal, eventsignal transmission means for transmitting the event signal to theplurality of contents receiving devices, and update signal generationmeans for generating an update signal for updating, in the plurality ofcontents receiving devices, the same contents signal as an updatedcontents signal registered in the database when it is updated, the eventsignal generation means generating a signal indicating the provision ofthe update signal as the event signal, the resource allocation meansallocating a resource for providing the update signal as the contentssignal, the contents providing means providing the update signal as thecontents signal, and the plurality of contents receiving devices eachcomprising: request signal generation means for evaluating the necessityof the contents signal and generating a request signal for receiving thecontents signal on the basis of the result of evaluation, request signaltransmission means for transmitting the request signal to the contentsproviding device, contents obtaining means for obtaining the contentssignal provided by the contents providing means of the contentsproviding device, event signal receiving means for receiving the eventsignal, the request signal generation means evaluating the necessity ofthe contents signal on the basis of the event signal, storage means forstoring the contents signal, and update means for updating the contentssignal stored in the storage means on the basis of the update signal,the contents obtaining means obtaining the update signal on the basis ofthe event signal, the contents obtaining means supplying the updatesignal to the update means.
 2. The communication system as claimed inclaim 1, wherein the resource allocation means allocates a transmissionband in a multiple-address network as a resource of the update signal,and the contents providing means transmits the update signal through themultiple-address network.
 3. A communication system comprising acontents providing device for providing a contents signal and aplurality of contents receiving devices for receiving the contentssignal provided from the contents providing device, the contentsproviding device comprising receiving means for receiving requestsignals transmitted from the plurality of contents receiving devices,totaling means for totaling the request signals received by thereceiving means, resource allocation means for allocating a resource forproviding the contents signal on the basis of the result of totaling bythe totaling means, and contents providing means for providing thecontents signal to the plurality of contents receiving devices on thebasis of the resource allocated by the resource allocation means, thecontents receiving device comprising request signal generation means forevaluating the necessity of the contents signal and generating a requestsignal for receiving the contents signal on the basis of the result ofevaluation, request signal transmission means for transmitting therequest signal to the content providing device, and contents obtainingmeans for obtaining the contents signal provided by the contentsproviding means of the contents providing device, wherein the contentsproviding means provides the contents signal through one of themultiple-address network and a bidirectional network, and wherein therequest signal includes one of first information requesting theprovision of the contents signal by the contents providing means usingthe multiple-address network and second information requesting theprovision of the contents signal by the contents providing means usingthe bidirectional network.
 4. The communication system as claimed inclaim 3, wherein the totaling means carries out different totaling inaccordance with whether the request signal includes the firstinformation or the second information.
 5. The communication system asclaimed in claim 4, wherein the first information includes degree ofrequest information indicating the degree of request for the contentssignal.
 6. The communication system as claimed in claim 5, wherein thetotaling means allocates the resource on the basis of the number oftimes the first information is received and the degree of request.